1. Field
The present invention relates generally to broadcast communications and more particularly to systems and methods for providing improved reliability in broadcast and/or multicast communications.
2. Related Art
Wireless communications are widely used for a vast array of applications. For example, wireless communications systems are used to provide mobile telephone access, paging capabilities and satellite communications. One of the most familiar applications of wireless technologies is in cellular telephone systems. As used herein, the term “cellular” is used to refer generically to wireless telephone systems, including cellular, PCS, and any other systems.
Cellular telephone systems have expanded from simply carrying voice communications to carrying voice and data, to providing high-speed data transfers for applications such as internet access. Various wireless interfaces have been developed for such cellular telephone systems including frequency division multiple access (FDMA), time division multiple access (TDMA), and code division multiple access (CDMA).
Assorted standards have also been developed for wireless communications, including Advanced Mobile Phone Service (AMPS), Global System for Mobile (GSM), and Interim Standard 95 (IS-95). IS-95 and its derivatives, such as IS-95A, IS-95B (often referred to collectively as IS-95), ANSI J-STD-008, IS-99, IS-2000, IS-657, IS-707, and others, are promulgated by the Telecommunication Industry Association (TIA) and other well known standards bodies.
Information which is transmitted using wireless communications systems is typically formatted into discrete groupings of data, each of which can be transmitted over a short period of time. These groupings of data may be referred to by various terms, including data packets, data frames, or simply packets or frames. When data (e.g., a data stream) is to be transmitted, it is broken down into pieces that are formatted into frames. The frames are typically transmitted individually over a wireless communication channel, checked to ensure that the frames have been accurately transmitted, and reassembled to form the original data stream.
Various techniques have been developed to allow receiving devices to verify the integrity of transmitted frames (i.e., to determine whether any errors occurred in the transmission of the frames). For example, each packet may contain a check value such as a CRC (cyclic redundancy check) value. The check value is computed based on the contents of the frame and is inserted into the frame prior to transmission. The check value of the received frame is then checked against the frame contents to determine whether the value accurately corresponds to the contents. If so, then the frame is determined to be free of errors.
While the use of check values can be used to ensure data integrity, it does not address the problem of frames that are dropped during transmission (as opposed to being received with errors). If a frame is not received, the check value clearly cannot be used to identify the error (the fact that the frame was dropped). Other mechanisms have therefore been developed to identify frames that are missing from the received data. One such mechanism is the radio link protocol (RLP).
RLP is used to control frame re-transmissions when one or more frames are not successfully received (i.e., that are dropped or that contain errors). RLP determines how and when the frames are re-transmitted. One of the primary features of RLP is the inclusion of a sequence number in the header of each frame that is transmitted. Because each frame has a sequence number, the receiving device knows that the received frames should contain a continuous series of sequence numbers. If a sequence number is missing, then the corresponding frame is missing. Consequently, if the receiving device detects a missing sequence number, it transmits a request to the transmitting device to re-send the frame with the missing sequence number. The receiving device may request re-transmission a number of times. If the frame is still not successfully received, the receiving device may ignore the missing frame.
RLP was developed to address the problem of missing frames in point-to-point transmissions of data. This type of re-transmission scheme is impractical in a broadcast communication system, however, because there is a potentially large number of receiving devices that may request re-transmission of frames that are missing or that contain errors. Even if there were relatively few re-transmission requests, the overall performance of a broadcast system would suffer if a broadcast had to be interrupted to service the re-transmission requests of a small number of receivers. It would therefore be desirable to provide a mechanism for servicing these requests without degrading the performance of the broadcast system.